100
How can I show the item in italics

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutItalic(VARIANT_TRUE);
	var_Items->Add(L"<i>Item</i>",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[itl]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

99
How can I show the item in bold

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBold(VARIANT_TRUE);
	var_Items->Add(L"<b>Item</b>",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[bld]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

98
How can I show the item as disabled but still be able to select or use it

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutShowAsDisabled(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[showdis=1]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

97
How can I enable or disable an item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[dis]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

96
How can I add a separator item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCaptionWidth(128);
	var_Items->Add(L"<font ;6>separator",long(1),vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutCaptionWidth(128);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"<font ;6>separator[sep]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

95
How can I change the item's foreground color

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutForeColor(RGB(255,0,0));
	var_Items->Add(L"<fgcolor FF0000>Item",vtMissing,vtMissing);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[fg=RGB(255,0,0)]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

94
How can I change the item's background/backcolor, when the item is selected/checked (radio-buttons)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Radio 1",vtMissing,vtMissing);
				var_item1->PutHotBackColor(RGB(255,255,255));
				var_item1->PutSelBackColor(RGB(255,0,0));
				var_item1->PutSelHotBackColor(RGB(255,0,0));
				var_item1->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
				var_item1->PutRadio(VARIANT_TRUE);
				var_item1->PutRadioGroup(100);
				var_item1->PutChecked(VARIANT_TRUE);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Radio 2",vtMissing,vtMissing);
				var_item2->PutHotBackColor(RGB(255,255,255));
				var_item2->PutSelBackColor(RGB(255,0,0));
				var_item2->PutSelHotBackColor(RGB(255,0,0));
				var_item2->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
				var_item2->PutRadio(VARIANT_TRUE);
				var_item2->PutRadioGroup(100);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutToString(L"Radio 3[typ=2][show=1][grp=100][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

93
How can I change the item's background/backcolor, when the item is selected/checked (check-box)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Check 1",vtMissing,vtMissing);
		var_item->PutHotBackColor(RGB(255,255,255));
		var_item->PutSelBackColor(RGB(255,0,0));
		var_item->PutSelHotBackColor(RGB(255,0,0));
		var_item->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
		var_item->PutChecked(VARIANT_TRUE);
		var_item->PutCheck(VARIANT_TRUE);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Check 2[typ=1][chk=0][show=1][bghot=RGB(255,255,255)][bgsel=RGB(255,0,0)][bgselhot=RGB(255,0,0)]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

92
How can I prevent showing the border for selected/highlight/hot items

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelBorderColor,RGB(255,255,255));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing);
	var_Items->Add(L"Item",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

91
How can I change the item's background/backcolor, when the cursor hovers it (hot)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHotBackColor(RGB(255,0,0));
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[bghot=RGB(255,0,0)]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

90
How can I change the item's background/backcolor

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBackColor(RGB(255,0,0));
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutBackColor(0x1000000);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"Item[bg=RGB(255,0,0)]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

89
How can I specify/assign the item's identifier

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutDebug(VARIANT_TRUE);
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"ID 1",long(0),long(1000));
	var_Items->Add(L"ID 2",vtMissing,vtMissing)->PutID(1001);
	var_Items->Add(L"",vtMissing,vtMissing)->PutToString(L"ID 3[id=1002]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

88
How can I show a horizontal separator/line between groups (method 3,EBN color)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item1->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
				var_item1->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item1->PutEditWidth(-128);
				var_item1->PutEditValue(long(25));
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item2->PutEnabled(VARIANT_FALSE);
				var_item2->PutBackColor(0x1000000);
				var_item2->PutItemHeight(8);
				var_item2->PutCaptionWidth(128);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item3->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
				var_item3->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item3->PutEditWidth(-128);
				var_item3->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

87
How can I show a horizontal separator/line between groups (method 2,solid color)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item1->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
				var_item1->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item1->PutEditWidth(-128);
				var_item1->PutEditValue(long(25));
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item2->PutEnabled(VARIANT_FALSE);
				var_item2->PutBackColor(RGB(128,128,128));
				var_item2->PutItemHeight(8);
				var_item2->PutCaptionWidth(128);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item3->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
				var_item3->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item3->PutEditWidth(-128);
				var_item3->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

86
How can I show a horizontal separator/line between groups (method 1,pattern)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item1->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
				var_item1->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item1->PutEditWidth(-128);
				var_item1->PutEditValue(long(25));
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"",long(2),vtMissing);
				var_item2->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
				EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item2->GetItems();
					EXCONTEXTMENULib::IItemPtr var_item3 = var_Items2->Add(L"",vtMissing,vtMissing);
						var_item3->PutEnabled(VARIANT_FALSE);
						var_item3->PutItemHeight(8);
						var_item3->PutCaptionWidth(128);
					var_Items2->PutBackgroundExt(L"none[(0,50%-1,100%,2),pattern=0x006,patterncolor=RGB(128,128,128)]");
			EXCONTEXTMENULib::IItemPtr var_item4 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item4->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
				var_item4->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item4->PutEditWidth(-128);
				var_item4->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

85
How can I show a vertical separator/line between groups (method 3,EBN color)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item1->PutItemHeight(128);
				var_item1->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
				var_item1->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item1->PutEditWidth(32);
				var_item1->PutEditValue(long(25));
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item2->PutEnabled(VARIANT_FALSE);
				var_item2->PutBackColor(0x1000000);
				var_item2->PutItemHeight(96);
				var_item2->PutCaptionWidth(8);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item3->PutItemHeight(128);
				var_item3->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
				var_item3->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item3->PutEditWidth(32);
				var_item3->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

84
How can I show a vertical separator/line between groups (method 2,solid color)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item1->PutItemHeight(128);
				var_item1->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
				var_item1->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item1->PutEditWidth(32);
				var_item1->PutEditValue(long(25));
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item2->PutEnabled(VARIANT_FALSE);
				var_item2->PutBackColor(RGB(128,128,128));
				var_item2->PutItemHeight(96);
				var_item2->PutCaptionWidth(8);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item3->PutItemHeight(128);
				var_item3->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
				var_item3->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item3->PutEditWidth(32);
				var_item3->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

83
How can I show a vertical separator/line between groups (method 1,pattern)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item1->PutItemHeight(128);
				var_item1->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
				var_item1->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item1->PutEditWidth(32);
				var_item1->PutEditValue(long(25));
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"",long(2),vtMissing);
				var_item2->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
				EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item2->GetItems();
					EXCONTEXTMENULib::IItemPtr var_item3 = var_Items2->Add(L"",vtMissing,vtMissing);
						var_item3->PutEnabled(VARIANT_FALSE);
						var_item3->PutItemHeight(96);
						var_item3->PutCaptionWidth(8);
					var_Items2->PutBackgroundExt(L"none[(50%-1,0,2,100%),pattern=6,patterncolor=RGB(128,128,128)]");
			EXCONTEXTMENULib::IItemPtr var_item4 = var_Items1->Add(L"",vtMissing,vtMissing);
				var_item4->PutItemHeight(128);
				var_item4->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
				var_item4->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
				var_item4->PutEditWidth(32);
				var_item4->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

82
How can I show a pattern on the items

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"2,2,2,12");
	var_Items->PutBackgroundExt(_bstr_t("root[pattern=0x006,patterncolor=RGB(128,128,128),frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><of") +
"f -2> clipboard </off></font></fgcolor>`,align=0x21])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

81
How can I show a thick frame arround the items

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"2,2,2,12");
	var_Items->PutBackgroundExt(_bstr_t("root[frame=RGB(128,128,128)](bottom[2],bottom[12,text=`<font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor>`,ali") +
"gn=0x21])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

80
How can I add some additional icons on the background

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"0,0,0,16");
	var_Items->PutBackgroundExt(L"root[text=`<img>2</img><font ;6><fgcolor 808080><off -2> clipboard </off></font></fgcolor><img>2</img>`,align=0x21]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

79
How can I add some additional text on the background

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
	var_Items->PutBackColor(RGB(255,255,255));
	var_Items->PutPadding(L"0,0,0,8");
	var_Items->PutBackgroundExt(L"root[text=`<font ;6><fgcolor 808080>clipboard`,align=0x21]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

78
How can I assign a tooltip to an item (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"ToolTip[id=10][ttp=This is a bit of text that should be shown when cursor hovers the item]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

77
How can I assign a tooltip to an item (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->Add(L"ToolTip",vtMissing,vtMissing)->PutTooltip(L"This is a bit of text that should be shown when cursor hovers the item");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

76
How can I assign a spin field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Spin",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditSpin);
		var_item->PutEditWidth(16);
		var_item->PutEditValue(long(15));
		var_item->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
		var_item->PutEditOption(EXCONTEXTMENULib::exEditMaxValue,long(1000));
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Edit-Spin",vtMissing,vtMissing);
		var_item1->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditText));
		var_item1->PutEditWidth(-128);
		var_item1->PutEditValue(long(15));
		var_item1->PutEditOption(EXCONTEXTMENULib::exEditMaxValue,long(1000));
	EXCONTEXTMENULib::IItemPtr var_item2 = var_Items->Add(L"Splider-Spin",vtMissing,vtMissing);
		var_item2->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditSpin | EXCONTEXTMENULib::exItemEditSlider));
		var_item2->PutEditWidth(-128);
		var_item2->PutEditValue(long(25));
		var_item2->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

75
How can I assign a spin field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(_bstr_t("Spin[id=10][edittype=0x0200][edit=15][border=0][max=1000][editwidth=16],Edit-Spin[id=20][edittype=0x0201][edit=15][max=1000][ed") +
"itwidth=-128],Splider-Spin[id=30][edittype=0x0203][edit=25][border=0][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

74
How can I add a vertical slider (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Vertical[id=10][edittype=0x0403][edit=25][border=0][height=128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

73
How can I add a vertical slider (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Vertical",vtMissing,vtMissing);
		var_item->PutItemHeight(128);
		var_item->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditVertical | EXCONTEXTMENULib::exItemEditSlider));
		var_item->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
		var_item->PutEditWidth(32);
		var_item->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

72
How can I disable an editor (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Disabled[id=10][dis][edittype=0x01][edit=text-box][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

71
How can I disable an editor (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Disabled",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditText);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue("text-box");
		var_item->PutEnabled(VARIANT_FALSE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

70
How can I lock an editor (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Locked[id=10][edittype=0x0101][edit=disabled text-box][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

69
How can I lock an editor (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Locked",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::AllowEditEnum(EXCONTEXTMENULib::exItemEditReadOnly | EXCONTEXTMENULib::exItemEditText));
		var_item->PutEditWidth(-128);
		var_item->PutEditValue("disabled text-box");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

68
How can I assign a font field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Font",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditFont);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue("Tahoma");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

67
How can I assign a font field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Font[id=10][edittype=0x07][edit=Tahoma][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

66
How can I assign a color field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Color",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditColor);
		var_item->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue(long(255));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

65
How can I assign a color field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Color[id=10][edittype=0x06][edit=#FF0000][border=0][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

64
How can I assign a scrollbar field to the item (method 2)
// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"ScrollBar",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditScrollBar);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue("25");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

63
How can I assign a scrollbar field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"ScrollBar[id=10][edittype=0x05][edit=25][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

62
Is it possible to change the tooltip beging shown when I change the slider/scroll/progress value

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditProgress);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue(long(25));
		var_item->PutEditOption(EXCONTEXTMENULib::exEditChangeToolTip,"`Current value is: ` + value");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

61
How can I hide the tooltip beging shown when I change the slider/scroll/progress value
// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditProgress);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue(long(25));
		var_item->PutEditOption(EXCONTEXTMENULib::exEditChangeToolTip,"");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

60
How can I assign a progress field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Progress",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditProgress);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue(long(25));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

59
How can I assign a progress field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Progress[id=10][edittype=0x04][edit=25][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

58
How can I assign a slider field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
		var_item->PutEditWidth(-128);
		var_item->PutEditValue(long(25));
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Slider",vtMissing,vtMissing);
		var_item1->PutAllowEdit(EXCONTEXTMENULib::exItemEditSlider);
		var_item1->PutEditBorder(EXCONTEXTMENULib::exEditBorderNone);
		var_item1->PutEditWidth(-128);
		var_item1->PutEditOption(EXCONTEXTMENULib::exEditMinValue,long(50));
		var_item1->PutEditOption(EXCONTEXTMENULib::exEditMaxValue,long(450));
		var_item1->PutEditOption(EXCONTEXTMENULib::exEditTickStyle,long(2));
		var_item1->PutEditOption(EXCONTEXTMENULib::exEditTickFrequency,long(50));
		var_item1->PutEditOption(EXCONTEXTMENULib::exEditTickLabel,_bstr_t("value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><font ;6><b><fgcolor") +
" FF0000>'+value : '' ) )");
		var_item1->PutEditValue(long(345));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

57
How can I assign a slider field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(_bstr_t("Slider[id=10][edittype=0x03][edit=25][editwidth=-128],Slider[id=20][edittype=0x03][edit=345][border=0][min=50][max=450][tick=2]") +
"[freq=50][ticklabel=value = vmin ? '<br><font ;6><b>'+value : ( value = vmax ? '<br><font ;6><b>'+value : ( value = 200 ? '<br><" +
"font ;6><b><fgcolor FF0000>'+value : '' ) )][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

56
How can I assign a mask (time) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Time",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item->PutEditWidth(-128);
		var_item->PutEditMask(L"99:00:00;;0;overtype,warning=Invalid character");
		var_item->PutEditValue("123456");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

55
How can I assign a mask (time) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Time[id=10][edittype=0x02][edit=12:34:56][mask=99:00:00;;0;overtype,warning=Invalid character][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

54
How can I assign a mask (license key) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"License Key",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item->PutEditWidth(-128);
		var_item->PutEditMask(L"AAAA-AAAA-AAAA-AAAA");
		var_item->PutEditValue("1234");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

53
How can I assign a mask (license key) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"License Key[id=10][edittype=0x02][edit=1234-____-____-____][mask=AAAA-AAAA-AAAA-AAAA][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

52
How can I assign a mask (IP address) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"IP Address",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item->PutEditWidth(-128);
		var_item->PutEditMask(L"{0,255}.{0,255}.{0,255}.{0,255}");
		var_item->PutEditValue("1.2.3.4");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

51
How can I assign a mask (IP address) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"IP Address[id=10][edittype=0x02][edit=1.2.3.4][mask={0,255}.{0,255}.{0,255}.{0,255}][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

50
How can I assign a mask (phone) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Phone",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item->PutEditWidth(-128);
		var_item->PutEditMask(L"!(9999) 000 000;;;empty,select=4,overtype,beep");
		var_item->PutEditValue("0771638317");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

49
How can I assign a mask (phone) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Phone[id=10][edittype=0x02][edit=(0771) 638 317][mask=!(9999) 000 000;;;empty,select=4,overtype,beep][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

48
How can I assign a mask (date) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item->PutEditWidth(-128);
		var_item->PutEditMask(L"`Date: `{1,12}/{1,31}/{1950,2050};;;select=1");
		var_item->PutEditValue(COleDateTime(2015,2,15,0,00,00).operator DATE());
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Date",vtMissing,vtMissing);
		var_item1->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item1->PutEditWidth(-128);
		var_item1->PutEditMask(L"!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,overtype");
		var_item1->PutEditValue(COleDateTime(2015,2,15,0,00,00).operator DATE());
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

47
How can I assign a mask (date) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(_bstr_t("[id=10][edittype=0x02][edit=Date: 2/15/2015][mask=`Date: `{1,12}/{1,31}/{1950,2050};;;select=1][editwidth=-128],Date[id=20][edi") +
"ttype=0x02][edit=02/15/2015][mask=!00/00/0000;;0;empty,validateas=1,invalid=Invalid date!,warning=Invalid character!,select=4,ov" +
"ertype][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

46
How can I assign a mask (integer) field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Integer",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item->PutEditWidth(-128);
		var_item->PutEditMask(L";;;float,grouping=,digits=0");
		var_item->PutEditValue(long(1000));
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"Integer-Grouping",vtMissing,vtMissing);
		var_item1->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item1->PutEditWidth(-128);
		var_item1->PutEditMask(L";;;float,decimal=,digits=0,select=1");
		var_item1->PutEditValue(long(1000));
	EXCONTEXTMENULib::IItemPtr var_item2 = var_Items->Add(L"Integer-In-Range",vtMissing,vtMissing);
		var_item2->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item2->PutEditWidth(-128);
		var_item2->PutEditMask(L"{0,2050}");
		var_item2->PutEditValue(long(1000));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

45
How can I assign a mask (integer) field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(_bstr_t("Integer[id=10][edittype=0x02][edit=1000][mask=;;;float,grouping=,digits=0][editwidth=-128],Integer-Grouping[id=20][edittype=0x0") +
"2][edit=1,000][mask=;;;float,decimal=,digits=0,select=1][editwidth=-128],Integer-In-Range[id=30][edittype=0x02][edit=1000][mask=" +
"{0,2050}][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

44
How can I assign a mask field to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Mask",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditMask);
		var_item->PutEditWidth(-128);
		var_item->PutEditMask(L";;;float,select=1");
		var_item->PutEditValue(long(1000));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

43
How can I assign a mask field to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Text-Box[id=10][edittype=0x02][edit=1,000][mask=;;;float,select=1][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

42
How can I assign an edit / text-box to the item (method 2)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"Mask",vtMissing,vtMissing);
		var_item->PutAllowEdit(EXCONTEXTMENULib::exItemEditText);
		var_item->PutEditValue("this is a text");
		var_item->PutEditWidth(-128);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

41
How can I assign an edit / text-box to the item (method 1)

// EditChange event - Occurs when the user alters the item's text box field.
void OnEditChangeExContextMenu1(LPDISPATCH   Itm)
{
	OutputDebugStringW( L"Itm" );
}

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"Text-Box[edit=this is a text][editwidth=-128]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

40
How can I display a tab into the context menu (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelBorderColor,RGB(240,240,240));
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutToString(_bstr_t("[id=0][group=0x0103][itemspad=4,4,4,4]([id=-10][group=0x03](),[id=0][bg=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=-10") +
"0]))");
	EXCONTEXTMENULib::IItemsPtr var_Items1 = var_Items->Getitem(long(-10))->GetItems();
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
		EXCONTEXTMENULib::IItemPtr var_item = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_item->PutToString(_bstr_t("[typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))");
			var_item->PutCaption(L"Page<off -5><font ;5><b>1</b></font></off>");
			EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item->GetItems();
				var_Items2->Add(L"add here fields for page 1",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
		EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"New Page",vtMissing,vtMissing);
			var_item1->PutToString(_bstr_t("[typ=2][chk=0][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16][") +
"group=0x03][tab=-100][pad=2,0,2,0]([id=50][group=0x03]([]))");
			var_item1->PutCaption(L"Page<off -5><font ;5><b>2</b></font></off>");
			EXCONTEXTMENULib::IItemsPtr var_Items3 = var_item1->GetItems();
				var_Items3->Add(L"add here fields for page 2",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
		var_Items1->Add(L"",long(0),long(0))->PutPadding(L"8,0,0,0");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

39
How can I add check-buttons to items, without showing the check-box (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Check 1",vtMissing,vtMissing);
				var_item1->PutCheck(VARIANT_TRUE);
				var_item1->PutChecked(VARIANT_TRUE);
				var_item1->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Check 2",vtMissing,vtMissing);
				var_item2->PutCheck(VARIANT_TRUE);
				var_item2->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"Check 3",vtMissing,vtMissing);
				var_item3->PutCheck(VARIANT_TRUE);
				var_item3->PutChecked(VARIANT_TRUE);
				var_item3->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

38
How can I add check-buttons to items, without showing the check-box (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"[group=0x3](Check 1[chk=1][show=1],Check 2[chk=0][show=1],Check 3[chk=1][show=1])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

37
How can I add radio buttons to items, without showing the radio-buttons (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Radio 1",vtMissing,long(1000));
				var_item1->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
				var_item1->PutRadio(VARIANT_TRUE);
				var_item1->PutRadioGroup(100);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Radio 2",vtMissing,long(1001));
				var_item2->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
				var_item2->PutRadio(VARIANT_TRUE);
				var_item2->PutRadioGroup(100);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"Radio 2",vtMissing,long(1003));
				var_item3->PutShowCheckedAsSelected(EXCONTEXTMENULib::exDisplayItemHighlight);
				var_item3->PutRadio(VARIANT_TRUE);
				var_item3->PutRadioGroup(100);
			var_Items1->Getitem(long(1000))->PutChecked(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

36
How can I add radio buttons to items, without showing the radio-buttons (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(_bstr_t("[group=0x3](Radio 1[rad=1][show=1][grp=100][id=1000],Radio 2[rad=0][show=1][grp=100][id=1001],Radio 2[rad=0][show=1][grp=100][i") +
"d=1002])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

35
How can I add check-buttons to items (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Check 1",vtMissing,vtMissing);
				var_item1->PutCheck(VARIANT_TRUE);
				var_item1->PutChecked(VARIANT_TRUE);
			var_Items1->Add(L"Check 2",vtMissing,vtMissing)->PutCheck(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

34
How can I add check-buttons to items (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"[group=0x3](Check 1[chk=1],Check 2[chk=0])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

33
How can I add radio buttons to items (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Radio 1",vtMissing,long(1000));
				var_item1->PutRadio(VARIANT_TRUE);
				var_item1->PutRadioGroup(100);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Radio 2",vtMissing,long(1001));
				var_item2->PutRadio(VARIANT_TRUE);
				var_item2->PutRadioGroup(100);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"Radio 2",vtMissing,long(1003));
				var_item3->PutRadio(VARIANT_TRUE);
				var_item3->PutRadioGroup(100);
			var_Items1->Getitem(long(1000))->PutChecked(VARIANT_TRUE);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

32
How can I add radio buttons to items (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutToString(L"[group=0x1](Radio 1[rad=1][grp=100][id=1000],Radio 2[rad=0][grp=100][id=1001],Radio 2[rad=0][grp=100][id=1002])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

31
How can I change the selection/highlighting color

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutSelBackColor(RGB(0,0,0));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelBorderColor,RGB(128,0,0));
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuHotForeColor,RGB(255,255,255));
spExContextMenu1->PutToString(L"[group=3](Item 1[chk],Item 2[chk])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

30
How can I prevent showing/hide the border on the selected/highlighted item

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelBorderColor,spExContextMenu1->GetSelBackColor());
spExContextMenu1->PutToString(L"Item 1,Item 2");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

29
How can I display a tab into the context menu (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutBackground(EXCONTEXTMENULib::exMenuSelBorderColor,RGB(240,240,240));
spExContextMenu1->PutToString(_bstr_t("[id=10][group=0x0103][itemspad=4,4,4,4]([id=20][group=0x03]([id=30][pad=8,0,0,0],Page<off -5><font ;5><b>1</b></font></off>[id=") +
"40][typ=2][chk=1][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height=16" +
"][group=0x03][tab=9000][pad=2,0,2,0]([id=50][group=0x03](add here fields for page 1[dis])),Page<off -5><font ;5><b>2</b></font><" +
"/off>[id=120][typ=2][spchk=-1][show=1][grp=10][bghot=RGB(255,255,255)][bgsel=RGB(240,240,240)][bgselhot=RGB(240,240,240)][height" +
"=16][group=0x03][tab=9000][pad=2,0,2,0]([id=130][group=0x03](add here fields for page 2[dis])),[id=180][pad=8,0,0,0]),[id=190][b" +
"g=RGB(240,240,240)][group=0x03][itemspad=4,4,4,4]([id=9000]))");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

28
How do I prevent highlighting the item (method 2.b)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"No highlight",vtMissing,vtMissing)->PutEnabled(VARIANT_FALSE);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

27
How do I prevent highlighting the item (method 2.a)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"No highlight",long(2),vtMissing);
		var_item->GetItems()->Add(L"",vtMissing,vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

26
How do I prevent highlighting the item (method 1.b)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"No highlight[dis],Item 2,Item 3");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

25
How do I prevent highlighting the item (method 1.a)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"No highlight[group=0x3][arrow=0]([]),Item 2,Item 3");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

24
How can I can I assign pictures or images for the item (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spExContextMenu1->PutHTMLPicture(L"pic2","c:\\exontrol\\images\\auction.gif");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHTMLImage(L"pic1");
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutHTMLImage(L"pic2");
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>pic1</img>",vtMissing,vtMissing);
	var_Items->Add(L"Item <img>pic2</img>",vtMissing,vtMissing);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"<img>pic1</img> Item <img>pic2</img>",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

23
How can I can I assign pictures or images for the item (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->PutHTMLPicture(L"pic1","c:\\exontrol\\images\\zipdisk.gif");
spExContextMenu1->PutHTMLPicture(L"pic2","c:\\exontrol\\images\\auction.gif");
spExContextMenu1->PutToString(L"Item[himg=pic1],Item[himg=pic2],[sep],Item <img>pic1</img>,Item <img>pic2</img>,[sep],<img>pic1</img> Item <img>pic2</img>");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

22
How can I can I assign icons for the item (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutImage(1);
	var_Items->Add(L"Item",vtMissing,vtMissing)->PutImage(2);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>1</img>",vtMissing,vtMissing);
	var_Items->Add(L"Item <img>2</img>",vtMissing,vtMissing);
	var_Items->Add(L"",long(1),vtMissing);
	var_Items->Add(L"Item <img>1</img>",vtMissing,vtMissing)->PutImage(1);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

21
How can I can I assign icons for the item (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->Images(_bstr_t("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
spExContextMenu1->GetItems()->PutToString(L"Item[img=1],Item[img=2],[sep],Item <img>1</img>,Item <img>2</img>,[sep],Item <img>1</img>[img=1]");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

20
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"2,2,2,2");
	var_Items->PutBackColor(0x1000000);
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

19
How can I change the visual appearance / background color (EBN) for a collection of items/group (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spExContextMenu1->GetItems()->PutToString(L"[itemsbg=0x1000000][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

18
How can I change the background color for a collection of items/group (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->PutPadding(L"2,2,2,2");
	var_Items->PutBackColor(RGB(255,0,0));
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

17
How can I change the background color for a collection of items/group (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"[itemsbg=RGB(255,0,0)][itemspad=2,2,2,2][group=0x103](Item 1,Item 2,Item 3)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

16
How can I change the visual appearance / background color (EBN) for a specified item (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutBackColor(0x1000000);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

15
How can I change the visual appearance / background color (EBN) for a specified item (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetVisualAppearance()->Add(1,"c:\\exontrol\\images\\normal.ebn");
spExContextMenu1->GetItems()->PutToString(L"Item 1,Item 2[bg=0x1000000],Item 3");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

14
How can I change the background color for a specified item (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing)->PutBackColor(RGB(255,0,0));
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

13
How can I change the background color for a specified item (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"Item 1,Item 2[bg=RGB(255,0,0)],Item 3");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

12
How do I add a popup or a sub-menu so it show when cursor hovers it (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemsPtr var_Items1 = var_Items->Add(L"Popup",long(2),vtMissing)->GetItems();
		var_Items1->Add(L"Item 1",vtMissing,vtMissing);
		var_Items1->Add(L"Item 2",vtMissing,vtMissing);
		var_Items1->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

11
How do I add a popup or a sub-menu so it show when cursor hovers it (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"Popup(Item 1,Item 2,Item 3)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

10
How can I arrange the items by grouping (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			EXCONTEXTMENULib::IItemPtr var_item1 = var_Items1->Add(L"Horizontal",long(2),vtMissing);
				var_item1->PutGroupPopup(EXCONTEXTMENULib::exGroupPopup);
				EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item1->GetItems();
					var_Items2->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items2->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items2->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutCaptionWidth(16);
			EXCONTEXTMENULib::IItemPtr var_item2 = var_Items1->Add(L"Vertical",long(2),vtMissing);
				var_item2->PutAlignment(EXCONTEXTMENULib::exCenter);
				var_item2->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exGroupPopupVertical | EXCONTEXTMENULib::exGroupPopup));
				EXCONTEXTMENULib::IItemsPtr var_Items3 = var_item2->GetItems();
					var_Items3->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items3->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items3->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
			var_Items1->Add(L"",vtMissing,vtMissing)->PutCaptionWidth(16);
			EXCONTEXTMENULib::IItemPtr var_item3 = var_Items1->Add(L"Popup",long(2),vtMissing);
				EXCONTEXTMENULib::IItemsPtr var_Items4 = var_item3->GetItems();
					var_Items4->Add(L"Sub-Item <b>A</b>",vtMissing,vtMissing);
					var_Items4->Add(L"Sub-Item <b>B</b>",vtMissing,vtMissing);
					var_Items4->Add(L"Sub-Item <b>C</b>",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

9
How can I arrange the items by grouping (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(_bstr_t("[group=0x03](Horizontal[group=0x01](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Vertical[group=0x0") +
"101][align=1](Sub-Item <b>A</b>,Sub-Item <b>B</b>,Sub-Item <b>C</b>),[captionwidth=16],Popup(Sub-Item <b>A</b>,Sub-Item <b>B</b>" +
",Sub-Item <b>C</b>),[captionwidth=160])");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

8
How can I arrange some items vertically, and some horizontally (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"1",vtMissing,vtMissing);
			var_Items1->Add(L"2",vtMissing,vtMissing);
			var_Items1->Add(L"3",vtMissing,vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
	EXCONTEXTMENULib::IItemPtr var_item1 = var_Items->Add(L"",long(2),vtMissing);
		EXCONTEXTMENULib::IItemsPtr var_Items2 = var_item1->GetItems();
			var_Items2->Add(L"4",vtMissing,vtMissing);
			var_Items2->Add(L"5",vtMissing,vtMissing);
			var_Items2->Add(L"6",vtMissing,vtMissing);
		var_item1->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
	EXCONTEXTMENULib::IItemPtr var_item2 = var_Items->Add(L"",long(2),vtMissing);
		EXCONTEXTMENULib::IItemsPtr var_Items3 = var_item2->GetItems();
			var_Items3->Add(L"7",vtMissing,vtMissing);
			var_Items3->Add(L"8",vtMissing,vtMissing);
			var_Items3->Add(L"9",vtMissing,vtMissing);
		var_item2->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

7
How can I arrange some items vertically, and some horizontally (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"[group=3](1,2,3),[group=3](4,5,6),[group=3](7,8,9)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

6
How can I assign multiple-lines to an item (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>1");
			var_Items1->Add(L"Item 2",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>2");
			var_Items1->Add(L"Item 3",vtMissing,vtMissing)->PutCaption(L"Item <br><c><b>3");
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

5
How can I assign multiple-lines to an item (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"[group=3](Item <br><c><b>1,Item <br><c><b>2,Item <br><c><b>3)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

4
How can I add new items arranged horizontally to the context menu (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	EXCONTEXTMENULib::IItemPtr var_item = var_Items->Add(L"",long(2),vtMissing);
		EXCONTEXTMENULib::IItemsPtr var_Items1 = var_item->GetItems();
			var_Items1->Add(L"Item 1",vtMissing,vtMissing);
			var_Items1->Add(L"Item 2",vtMissing,vtMissing);
			var_Items1->Add(L"Item 3",vtMissing,vtMissing);
		var_item->PutGroupPopup(EXCONTEXTMENULib::GroupPopupEnum(EXCONTEXTMENULib::exNoGroupPopupFrame | EXCONTEXTMENULib::exGroupPopup));
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

3
How can I add new items arranged horizontally to the context menu (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"[group=3](Item 1,Item 2,Item 3)");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

2
How can I add new items to the context menu (method 2)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
EXCONTEXTMENULib::IItemsPtr var_Items = spExContextMenu1->GetItems();
	var_Items->Add(L"Item 1",vtMissing,vtMissing);
	var_Items->Add(L"Item 2",vtMissing,vtMissing);
	var_Items->Add(L"Item 3",vtMissing,vtMissing);
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);

1
How can I add new items to the context menu (method 1)

/*
	Includes the definition for CreateObject function like follows:

	#include <comdef.h>
	IUnknownPtr CreateObject( BSTR Object )
	{
		IUnknownPtr spResult;
		spResult.CreateInstance( Object );
		return spResult;
	};

*/
/*
	Copy and paste the following directives to your header file as
	it defines the namespace 'EXCONTEXTMENULib' for the library: 'ExContextMenu 1.0 Type Library'

	#import <ExContextMenu.dll>
	using namespace EXCONTEXTMENULib;
*/
EXCONTEXTMENULib::IExContextMenuPtr spExContextMenu1 = ::CreateObject(L"Exontrol.ContextMenu.1");
spExContextMenu1->GetItems()->PutToString(L"Item 1,Item 2,Item 3");
spExContextMenu1->Select(vtMissing,vtMissing,vtMissing);